Graphics programs, in general, render 2D or 3D objects by converting those objects into draw commands, which are then fed into a graphics API, such as OPENGL or DIRECT3D. Within the API rendering pipeline, the draw commands undergo various processes such as hidden surface removal, Z-buffering, rasterization, and clipping before it is output as a 2D image on the application user's display. Generally exporting a particular 3D object from a graphics program, if possible, is an arduous process, requiring decompiling of the program data to retrieve an OBJ file or other readable 3D format. Similarly, importing a file into a 3D graphics program requires compiling the 3D object into the required format of the graphics program, and often requires repackaging an entire 3D object library for successful object importation.